Estruturas de dados e seus algoritmos: listas, pilhas, filas, árvores e grafos. Conceitos de complexidade assintótica: notação O, O e T; indução; somatórios e relação de recorrência. Paradigmas de projeto de algoritmos. Conceitos e classificação de problemas NP-completos.